A great number of computer devices (e.g., personal computers, personal digital assistants (“PDAs”), cellular telephones, etc.) employ a graphical user interface (hereinafter “GUI”) to interact with users. A GUI is an input/output (I/O) system characterized by the use of graphics on a computer display to communicate with a computer user. Frequently, the user employs an input device, such as a mouse or trackball, to manipulate and relocate a pointer on the computer display. When a user activates or “clicks” the input device while the pointer is at a designated position on a display, information is input into a computer device. Accordingly, a user does not need to memorize commands or have knowledge of keyboard typing to provide input to the computer device.
A GUI generally presents graphical display elements (hereinafter “GUI objects”) as two-dimensional images composed of pixels on a computer display. The pointer is a GUI object that is presented as overlaying all other GUI objects. One coordinate on a pointer is a “hot spot,” that identifies a specific location (i.e., coordinate position) where a pointer selection event may occur. However, in order for a pointer selection event to occur, the pointer's “hot spot” must be located on a target. In some instances, the coordinate position occupied by a GUI object is the target. For example, when a GUI object is an icon that initiates execution of a computer program, the coordinate position occupied by the icon is a target. In other instances, GUI objects consist of one or more smaller targets. For example, resize handles are targets that allow users to change the size of a GUI object by causing a pointer selection event to occur on the resize handle.
Positioning the “hot spot” of a pointer over a desired target, such as a resize handle, is often difficult to accomplish, leading to frustration and lowered productivity. In some instances, users with diminished visual or physical abilities, or lack of training have difficulty in positioning a pointer. In other instances, pointer positioning difficulty may be attributable to the computer device. For example, a computer display may provide a high-density presentation of material, rendering targets relatively small, thereby making precise pointer positioning difficult.
An inability to place the hot spot of a pointer on a specific target creates problems because the desired function may not easily be performed. Instead, the user may need to repetitively readjust a pointer to perform the desired function. Thus, acquisition aids have been developed to assist users acquire a target. For example, one acquisition aid “magnetizes” a target so that a pointer is drawn to the target when located less than a predetermined distance away from the target. A drawback to this approach is that the size of a target is effectively enlarged when magnetized so that other GUI objects located less than the predetermined distance from the target are difficult to acquire. Another acquisition aid makes a target “sticky” so that movement of the pointer on the target is not proportional to input received from the user. Stated differently, pointer movement is adjusted on the target so that a proportionally larger amount of input is required to affect movement of the pointer. While this approach helps users keep the pointer on a target, acquiring the target may still be difficult.
Typically, GUIs display more than one target and the user does not always want to acquire a target that has an acquisition aid. In this instance, the acquisition aid generates side effects that distort pointer movement away from the user's intended target. In the simplest form, an acquisition aid could automatically move the pointer to the target regardless of the input received from the user. While a target with this type of acquisition aid would be easy to acquire with the pointer, the side effects of this type of acquisition aid are vast as the user is not able to acquire any other targets on the computer display.
What is needed is a system and method for assisting users in acquiring a target that minimizes side effects. Desirably, the system and method are easy to use and do not require knowledge or training on the part of the user. The present invention addresses these needs and other shortcomings that currently exist.